package com.example.aerohub.pojo.resp.Search;

import lombok.Data;

import java.util.List;

@Data
public class Tu {

	/**
	 * 属于第几张票,未启用，目前统一返回1
	 */
	private int tuSequence;

	/**
	 * 不同乘客类型的机票价格
	 */
	private List<Price> priceList;

	/**
	 * 旅客身份三字码，NOR 普通成人、LAB 劳务人员、SEA 海员、SNR 老年人、STU 学生、YOU 青年
	 */
	private String eligibility;

	/**
	 * 实际出票的航空公司代码，采用 IATA 二字代码做为标准
	 */
	private String validatingCarrier;

	/**
	 * 产品类型，不填写代表标准产品（退改规定以航空公司为准），目前AeroHub只有标准产品
	 */
	private String productType;

	/**
	 * 与GDS中的票价等级相对应，每个航段一个，多个时用”;”隔开
	 */
	private String fareBasis;

	/**
	 * 订位Office号，AeroHub预留字段，现阶段可传空
	 */
	private String bookingOfficeNo;

	/**
	 * 出票Office号，AeroHub预留字段，现阶段可传空
	 */
	private String ticketingOfficeNo;

	/**
	 * 政策来源，AeroHub预留字段，现阶段可传空
	 */
	private String reservationType;

	/**
	 * 出票国家代码，采用 ISO 3166 二字码做为标准，多个出票地用 “|” 隔开
	 */
	private String posCode;

	/**
	 * 特殊产品预留字段，AeroHub目前没有特殊产品，本字段可传0
	 */
	private int complexTerm;

	/**
	 * 本次航班对乘客的最小年龄限制，0代表无限制
	 */
	private int minAge;

	/**
	 * 本次航班对乘客的最大年龄限制，0代表无限制
	 */
	private int maxAge;

	/**
	 * 供应商可提供的凭证类型，T 行程单、F 发票、E 电子发票
	 */
	private String invoiceType;

	/**
	 * 本次航班的最小可售卖人数，从1开始
	 */
	private int minPassengerCount;

	/**
	 * 本次航班的最大可售卖人数
	 */
	private int maxPassengerCount;

	/**
	 * 备注信息，最大 300 个字符
	 */
	private String note;

	/**
	 * 行李信息，用于反映是否可售卖行李和是否有免费行李
	 */
	private AirlineAncillaries airlineAncillaries;

	/**
	 * 套餐信息，为空或者未返回时表示机票最低价产品
	 */
	private PackageInfo packageInfo;

	/**
	 * 免费行李信息，当未返回此节点内容时，表示无免费行李
	 */
	private List<FormatBaggageDetail> formatBaggageDetail;

	/**
	 * 退票规则
	 */
	private List<RefundInfo> refundInfoList;

	/**
	 * 改签规则
	 */
	private List<ChangesInfo> changesInfoList;

	/**
	 * 币种，一般和供应商约定的结算币种一致
	 */
	private String currency;

	/**
	 * 出票时长，以秒做为计量单位，用于匹配AeroHub对不同产品的出票要求，返回值会优先匹配，优先比价
	 */
	private int ticketTimeUnit;

	/**
	 * 是否支持签转，0 不支持、1 支持
	 */
	private int endorsement;


}
